package com.ts.api.common.constant.productflow;

/**
 *  分发流程状态枚举
 *
 *  @author Pan
 */
public enum ProductApplyFlowStatusEnum {

    /** 渠道-撞库成功 */
    CHANNEL_DATA_EXCHANGE(1),
    /** 渠道-对方已进件 */
    CHANNEL_APPLY(2),
    /** 渠道-推送-进件成功异步通知 */
    CHANNEL_PUSH_APPLY_NOTICE(3),
    /** 渠道-推送-进件成功主动查询 */
    CHANNEL_PUSH_APPLY_QUERY(4),
    /** 渠道-拉取-进件通知回调 */
    CHANNEL_PULL_APPLY_NOTICE(5),

    /** 用户-授权页-用户已进入页面 */
    CALLBACK_USER_INTO(10),
    /** 用户-已点击授权/进件成功 */
    USER_ACCEPT(11),

    /** 下游-撞库-预匹配成功*/
    DATA_EXCHANGE_PRE_SUC(19),
    /** 下游-撞库-返回失败 */
    DATA_EXCHANGE_FAIL(20),
    /** 下游-撞库-返回成功*/
    DATA_EXCHANGE_SUC(21),
    /** 下游-撞库-我方业务校验失败 */
    DATA_EXCHANGE_BIZ_FAIL(24),
    /** 下游-撞库-超时 */
    DATA_EXCHANGE_REQ_TIMEOUT(25),
    /** 下游-撞库-系统异常 */
    DATA_EXCHANGE_EXCEPTION(26),
    /** 下游-撞库-[平台]返回撞库失败*/
    PLAT_FORM_DATA_EXCHANGE_FAIL(27),

    /** 下游-进件-返回进件失败 */
    APPLY_ERROR(22),
    /** 下游-进件-我方业务校验失败 */
    APPLY_BIZ_ERROR(23),
    /** 下游-进件-我方进件异常 */
    APPLY_EXCEPTION(303),

    /** 过期状态-渠道-撞库成功 */
    EXPIRE_CHANNEL_DATA_EXCHANGE(101),
    /** 过期状态-下游-撞库成功 */
    EXPIRE_DATA_EXCHANGE_SUC(121),
    ;

    /** 类型 */
    private final Integer type;

    /**
     * 构造函数
     *
     * @param type
     */
    private ProductApplyFlowStatusEnum(Integer type) {
        this.type = type;
    }

    public Integer getType() {
        return type;
    }

}
